package java学习.leetcode.editor.cn;

import java.util.Arrays;
import java.util.HashSet;

/**
 * @author 刘世锦
 * 2022-10-05 17:29:40	 当前时间
 */
//给你两个字符串：ransomNote 和 magazine ，判断 ransomNote 能不能由 magazine 里面的字符构成。 
//
// 如果可以，返回 true ；否则返回 false 。 
//
// magazine 中的每个字符只能在 ransomNote 中使用一次。 
//
// 
//
// 示例 1： 
//
// 
//输入：ransomNote = "a", magazine = "b"
//输出：false
// 
//
// 示例 2： 
//
// 
//输入：ransomNote = "aa", magazine = "ab"
//输出：false
// 
//
// 示例 3： 
//
// 
//输入：ransomNote = "aa", magazine = "aab"
//输出：true           2               2 1
// 
//
// 
//
// 提示： 
//
// 
// 1 <= ransomNote.length, magazine.length <= 105 
// ransomNote 和 magazine 由小写英文字母组成 
// 
// Related Topics 哈希表 字符串 计数 
// 👍 506 👎 0

public class 赎金信{
	public static void main(String[] args) {
		Solution solution = new 赎金信().new Solution();
		
	}
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
//输入：ransomNote = "aabc", magazine = "aab"
//输出：true



	public boolean canConstruct(String ransomNote, String magazine) {
		int [] map = new int[26];
    	for (int i = 0; i < magazine.length(); i++) {
				map[magazine.charAt(i)-'a']++;
		}
		for (int i = 0; i < ransomNote.length(); i++) {
				map[ransomNote.charAt(i)-'a']--;

		}
		for (int i : map) {
			if (i<0){
				return false;
			}
		}
		return true;

    }
}
//leetcode submit region end(Prohibit modification and deletion)

}
